package com.example.springquerydslsample1

import com.querydsl.jpa.impl.JPAQueryFactory
import jakarta.persistence.EntityManager
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer

/**
 * 使用QueryDSL的功能时，会依赖使用到JPAQueryFactory，而JPAQueryFactory在这里依赖使用EntityManager，
 * 所以在主类中做如下配置，使得Spring自动帮我们注入EntityManager与自动管理JPAQueryFactory
 *
 * 作者：tianmengwei
 * 链接：https://juejin.cn/post/6844903920956014606
 * 来源：稀土掘金
 * 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 * @author NJ
 * @create 2022/12/5 15:12
 */
@Configuration
class WebMvcConfig : WebMvcConfigurer {
    @Bean
    fun jpaQuery(entityManager: EntityManager?): JPAQueryFactory {
        return JPAQueryFactory(entityManager)
    }
}
